Implementing Git From Scratch In Rust